package com.zliblike_platform.service;

import com.zliblike_platform.vo.UploadHistoryVO;

import java.util.List;

/**
 * 上传历史服务接口
 */
public interface UploadHistoryService {
    
    /**
     * 记录上传历史
     * @param userId 用户ID
     * @param bookId 书籍ID
     * @return 上传记录ID
     */
    Integer recordUpload(Integer userId, Integer bookId);
    
    /**
     * 获取用户上传历史
     * @param userId 用户ID
     * @param status 状态（待审核/通过/拒绝）
     * @param page 页码
     * @param size 每页大小
     * @return 上传历史列表
     */
    List<UploadHistoryVO> getUserUploads(Integer userId, String status, int page, int size);
    
    /**
     * 更新上传状态
     * @param uploadId 上传记录ID
     * @param status 状态
     * @param reason 拒绝原因（如果状态为拒绝）
     * @return 是否成功
     */
    boolean updateUploadStatus(Integer uploadId, String status, String reason);
    
    /**
     * 获取待审核的上传记录
     * @param page 页码
     * @param size 每页大小
     * @return 上传记录列表
     */
    List<UploadHistoryVO> getPendingUploads(int page, int size);
    
    /**
     * 获取上传记录总数
     * @param status 状态（可选）
     * @return 记录总数
     */
    int countUploads(String status);
} 